#ifndef __LIB_AGORA_CLIENT_IHOSTRIGHT_H__
#define __LIB_AGORA_CLIENT_IHOSTRIGHT_H__

namespace AgoraClient
{

class	IHostRight
{
public:
	virtual void				SetHostRight(const bool canChangeLogin, const bool canChangePassword, const bool canChangeChannel, const bool canCreateChannel, const bool canDeleteChannel, const bool canMoveChannel, const bool canKickUser, const bool canBanUser, const bool canEditUser) = 0;
	virtual const bool			GetCanChangeLogin(void) const = 0;
	virtual void				SetCanChangeLogin(const bool value) = 0;
	virtual const bool			GetCanChangePassword(void) const = 0;
	virtual void				SetCanChangePassword(const bool value) = 0;
	//can modif host name, codec, bpassante, max user, reboot, etcetc
	virtual const bool			GetCanChangeChannel(void) const = 0;
	virtual void				SetCanChangeChannel(const bool value) = 0;
	virtual const bool			GetCanCreateChannel(void) const = 0;
	virtual void				SetCanCreateChannel(const bool value) = 0;
	virtual const bool			GetCanDeleteChannel(void) const = 0;
	virtual void				SetCanDeleteChannel(const bool value) = 0;
	virtual const bool			GetCanMoveChannel(void) const = 0;
	virtual void				SetCanMoveChannel(const bool value) = 0;
	virtual const bool			GetCanKickUser(void) const = 0;
	virtual void				SetCanKickUser(const bool value) = 0;
	virtual const bool			GetCanBanUser(void) const = 0;
	virtual void				SetCanBanUser(const bool value) = 0;
	virtual const bool			GetCanEditUser(void) const = 0;
	virtual void				SetCanEditUser(const bool value) = 0;
};

}

#endif